import { IDisposableRegistry, IExtensionContext } from "./common/types";
import { IServiceContainer, IServiceManager } from "./ioc/types";

export type ExtensionState = {
    context: IExtensionContext;
    disposables: IDisposableRegistry;
    // For now we include the objects dealing with inversify (IOC)
    // registration.  These will be removed later.
    legacyIOC: {
        serviceManager: IServiceManager;
        serviceContainer: IServiceContainer;
    };
};

export type ActivationResult = {
    fullyReady: Promise<void>;
};
